home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO038B.dsk / V.SP.bas < prev   
BASIC Source File  |  2012-02-16  |  9KB  |  216 lines

  1. 100  REM    V.SP
  2. 110 CL = 0
  3. 120  GOSUB 160: REM    DRAW SP
  4. 130  GOSUB 1080: REM     ATTACK
  5. 131  REM    LOSE MORALE AFTER ARTY
  6. 132  IF PL = 1  AND (TU = 4  OR TU = 5)  AND SF = 1  AND AY% >6  THEN PB(D0,2) = PB(D0,2) -2
  7. 134  IF PL = 2  AND (TU = 4  OR TU = 5)  AND SF = 1  AND AY% >6  THEN PA(D0,2) = PA(D0,2) -2
  8. 136  IF PL = 1  AND (SF < >1)  AND PB(D0,1) <.7  THEN PA(N,2) = PA(N,2) +2
  9. 138  IF PL = 2  AND (SF < >1)  AND PA(D0,1) <.7  THEN PB(N,2) = PB(N,2) +2
  10. 140  IF RO = 7  AND TU = 1  THEN RO = 9
  11. 150  GOTO 2680
  12. 160  REM    LOCATE SP
  13. 170 E = 135:F = 90
  14. 180  IF PL = 1  THEN F4 = 6:B = PB(D0,7)
  15. 190  IF PL = 2  THEN F4 = 1:B = PA(D0,7)
  16. 200  REM    DRAW SP
  17. 210  HCOLOR= 3
  18. 220  DRAW 18 AT E,F
  19. 230  HCOLOR= F4
  20. 240  DRAW 19 AT E,F
  21. 290  FOR TM = 1 TO 300: NEXT TM
  22. 300 X =  INT(4 * RND(1)) +1
  23. 310  FOR ST = 1 TO X
  24. 320  GOSUB 400
  25. 330  GOSUB 500
  26. 340  NEXT ST
  27. 390  RETURN 
  28. 400  REM    DRAW FLASH
  29. 410  HCOLOR= 3
  30. 420  DRAW 20 AT E +15,F -18
  31. 430  HCOLOR= 5
  32. 440  DRAW 20 AT E +15,F -18
  33. 450  SCALE= 2
  34. 455  DRAW 20 AT E +15,F -18
  35. 460  HCOLOR= 0
  36. 465  DRAW 20 AT E +15,F -18
  37. 470  SCALE= 1
  38. 475  DRAW 20 AT E +15,F -18
  39. 485  FOR TM = 1 TO 150: NEXT TM
  40. 490  RETURN 
  41. 500  FOR TM = 1 TO 25
  42. 510 SH =  PEEK(SN) + PEEK(SN) + PEEK(SN)
  43. 520 SH =  PEEK(SN) - PEEK(SN)
  44. 530  NEXT TM
  45. 590  RETURN 
  46. 1080  REM     EXEC
  47. 1082 TR = HX%(AX,1)
  48. 1085  IF TR >5  THEN TR = TR -5: GOTO 1085
  49. 1090  IF TU = 4  AND OP = 6  THEN  GOTO 2140
  50. 1092  IF TU = 5  THEN  GOTO 2180
  51. 1094  IF MN = 1  THEN AY% = 3: GOTO 2180
  52. 1100  ON SE GOSUB 1120,1270
  53. 1110  RETURN 
  54. 1120  REM     MG
  55. 1130  FOR ST = 1 TO AM
  56. 1140  FOR TM = 1 TO 10
  57. 1150 SH =  PEEK(SN) + PEEK(SN)
  58. 1160  NEXT TM
  59. 1170 X =  INT(20 +(TR *4)) * RND(1)
  60. 1180  IF X <3  THEN  GOSUB 1340
  61. 1190  NEXT ST
  62. 1200  IF TU = 2  OR TU = 3  THEN  RETURN 
  63. 1210  ON PL GOTO 1220,1240
  64. 1220 PA(N,7) = PA(N,7) -AM
  65. 1230  RETURN 
  66. 1240 PB(N,7) = PB(N,7) -AM
  67. 1250  IF CT = 1  THEN PB(N,7) = 20
  68. 1260  RETURN 
  69. 1270  REM     CANNON
  70. 1280 X =  INT(4 +(TR *2)) * RND(1) +1
  71. 1290  CALL 826
  72. 1320  ON X GOTO 2000,1500,1830,1980,2020,1500,2020,2040,2000,2040
  73. 1330  GOTO 2020
  74. 1340  REM    EFFECT OF MG
  75. 1350  IF PL = 1  AND TU = 3  THEN PB(D0,1) = PB(D0,1) -.05:PB(D0,2) = PB(D0,2) -.2
  76. 1360  IF PL = 2  AND TU = 3  THEN PA(D0,1) = PA(D0,1) -.05:PA(D0,2) = PA(D0,2) -.2
  77. 1370  RETURN 
  78. 1380 PB(D0,1) = PB(D0,1) -.1
  79. 1390  IF PB(D0,1) <.7  THEN PB(D0,1) = .7
  80. 1400 PB(D0,2) = 0
  81. 1410 RO = 1
  82. 1420  RETURN 
  83. 1450 PA(D0,1) = PA(D0,1) -.1
  84. 1460  IF PA(D0,1) <.7  THEN PA(D0,1) = .7
  85. 1470 PA(D0,2) = 0
  86. 1480 RO = 1
  87. 1490  RETURN 
  88. 1500  REM     LEFT
  89. 1510 XC = 90
  90. 1520 E = 127:F = 93
  91. 1530 RO = 2
  92. 1540  ON PL GOTO 1550,1580
  93. 1550 PB(D0,1) = PB(D0,1) -.1:PB(D0,3) = 1:PB(D0,2) = PB(D0,2) -1
  94. 1560  IF PB(D0,1) <.7  THEN PB(D0,1) = 0:RO = 3
  95. 1570  GOTO 1600
  96. 1580 PA(D0,1) = PA(D0,1) -.1:PA(D0,3) = 1:PA(D0,2) = PA(D0,2) -1
  97. 1590  IF PA(D0,1) <.7  THEN PA(D0,1) = 0:RO = 3
  98. 1600  REM     NEW EXPLO
  99. 1610  HCOLOR= 3: GOSUB 2270
  100. 1620  HCOLOR= 5: GOSUB 2280
  101. 1630  HCOLOR= 0: GOSUB 2270
  102. 1640  HCOLOR= 5: GOSUB 2290
  103. 1650  HCOLOR= 0: GOSUB 2290
  104. 1660  HCOLOR= 5: GOSUB 2300
  105. 1670  HCOLOR= 0: GOSUB 2300
  106. 1680  HCOLOR= 5: GOSUB 2330
  107. 1690  HCOLOR= 0: GOSUB 2350
  108. 1700  HCOLOR= 5: GOSUB 2370
  109. 1710  HCOLOR= 0: GOSUB 2330
  110. 1720  GOSUB 2370
  111. 1730  HCOLOR= 5: GOSUB 2390
  112. 1740  HCOLOR= 0: GOSUB 2390
  113. 1750  IF RO = 7  OR RO = 9  OR (TU = 5  AND RO = 8)  THEN  GOSUB 2410
  114. 1760  ON PL GOTO 1770,1800
  115. 1770  IF TU = 1  THEN PA(N,10) = 0
  116. 1780  IF TU = 2  THEN PA(N,8) = 0
  117. 1790  RETURN 
  118. 1800  IF TU = 1  THEN PB(N,10) = 0
  119. 1810  IF TU = 2  THEN PB(N,8) = 0
  120. 1820  RETURN 
  121. 1830 E = 139:F = 92
  122. 1840  ON PL GOTO 1850,1910
  123. 1850  IF TU = 1  THEN RO = 9:PB(D0,1) = 0:PA(N,2) = PA(N,2) +2: GOTO 1600
  124. 1860  ON PA(N,8) GOTO 1870,1880
  125. 1870 RO = 7:PB(D0,1) = 0: GOTO 1890
  126. 1880 RO = 8:PB(D0,1) = PB(D0,1) -.2:PB(D0,2) = 0
  127. 1882  IF TU = 5  THEN PB(D0,1) = 0:RO = 8
  128. 1890  IF PB(D0,1) <.7  THEN PB(D0,1) = 0:
  129. 1900  GOTO 1600
  130. 1910  IF TU = 1  THEN RO = 9:PA(D0,1) = 0:PB(N,2) = PB(N,2) +2: GOTO 1600
  131. 1920  ON PB(N,8) GOTO 1930,1950
  132. 1930 RO = 7:PA(D0,1) = 0:
  133. 1940  GOTO 1960
  134. 1950 RO = 8:PA(D0,1) = PA(D0,1) -.2:PA(D0,2) = 0
  135. 1952  IF TU = 5  THEN PA(D0,1) = 0:RO = 8
  136. 1960  IF PA(D0,1) <.7  THEN PA(D0,1) = 0:
  137. 1962  IF SF < >1  OR TU = 4  THEN PB(N,2) = PB(N,2) +2
  138. 1970  GOTO 1600
  139. 1980 E = 154:F = 82
  140. 1990  GOTO 1530
  141. 2000 E = 197:F = 86
  142. 2010  GOTO 1600
  143. 2020 E = 165:F = 85
  144. 2030  GOTO 1600
  145. 2040 E = 170:F = 90
  146. 2050  GOTO 1600
  147. 2060 E = 140:F = 105
  148. 2070  GOTO 1600
  149. 2080 E = 120:F = 95
  150. 2090  GOTO 1600
  151. 2100 E = 180:F = 110
  152. 2110  GOTO 1600
  153. 2120 E = 175:F = 120
  154. 2130  GOTO 1600
  155. 2140  REM     ARTY FIRE
  156. 2150  ON PL GOTO 2160,2170
  157. 2160 PA(N,8) = 1: GOTO 2180
  158. 2170 PB(N,8) = 1: GOTO 2180
  159. 2180  FOR C = 1 TO AY%
  160. 2190  CALL 826
  161. 2220 X =  INT(15 * RND(1) +1)
  162. 2225  IF MN = 1  AND X = 2  THEN 2220
  163. 2230  ON X GOSUB 2080,1830,1500,1980,2100,2060,2120,2120,2000,2080,2040,2060,2120,2080,2020
  164. 2240  NEXT C
  165. 2250  RETURN 
  166. 2260  REM     NEW EXPLO
  167. 2270  HPLOT E,F TO E +2,F -2: HPLOT E,F TO E -2,F -2: HPLOT E -2,F
  168. 2280  HPLOT E +1,F TO E +5,F -4: HPLOT E -1,F TO E -5,F -4: HPLOT E +1,F -2: HPLOT E +2,F -4: HPLOT E -1,F -2: HPLOT E -2,F -4: HPLOT E +3,F -6: HPLOT E -3,F -6: HPLOT E,F -3 TO E,F -7: RETURN 
  169. 2290  HPLOT E +2,F -1 TO E +3,F -2: HPLOT E -2,F -1 TO E -3,F -2: HPLOT E +5,F -4: HPLOT E -5,F -4: HPLOT E -7,F -5: HPLOT E +7,F -6: HPLOT E -1,F -6: HPLOT E +1,F -7: RETURN 
  170. 2300  HPLOT E +1,F -2: HPLOT E -1,F -2: HPLOT E +2,F -5: HPLOT E -2,F -5: HPLOT E +3,F -7: HPLOT E -3,F -7: HPLOT E +5,F -9: HPLOT E -4,F -9: HPLOT E +2,F -8: HPLOT E -1,F -8
  171. 2310  HPLOT E +1,F: HPLOT E -1,F -1: HPLOT E +3,F -2: HPLOT E -3,F -2: HPLOT E +5,F -4: HPLOT E -5,F -4: HPLOT E +7,F -6: HPLOT E -7,F -5: HPLOT E +9,F -7: HPLOT E -9,F -6
  172. 2320  HPLOT E +1,F -9: HPLOT E -1,F -10: HPLOT E +3,F -9: HPLOT E -2,F -9: HPLOT E +5,F -11: HPLOT E -6,F -11: HPLOT E +8,F -12: HPLOT E -8,F -12: RETURN 
  173. 2330  HPLOT E,F TO E,F -3: HPLOT E +2,F -5: HPLOT E -2,F -5: HPLOT E +4,F -7: HPLOT E -4,F -8: HPLOT E +6,F -10: HPLOT E -5,F -10: HPLOT E +9,F -12: HPLOT E -7,F -12
  174. 2340  HPLOT E +4,F -3: HPLOT E -4,F -3: HPLOT E +7,F -6: HPLOT E -7,F -5: HPLOT E +10,F -8: HPLOT E -9,F -6: HPLOT E -11,F -7: HPLOT E +12,F -13: HPLOT E -10,F -13
  175. 2350  HPLOT E +3,F -12: HPLOT E -2,F -12: HPLOT E +5,F -14: HPLOT E -3,F -14: HPLOT E +7,F -15: HPLOT E -5,F -15: HPLOT E -14,F -8: HPLOT E -13,F -14: HPLOT E -7,F -16: HPLOT E,F -13
  176. 2360  HPLOT E,F -17: HPLOT E +10,F -16: HPLOT E +14,F -14: HPLOT E -14,F -9: RETURN 
  177. 2370  HPLOT E -10,F -6: HPLOT E -10,F -11: HPLOT E +14,F -12: HPLOT E +10,F -6: HPLOT E -17,F -7: HPLOT E -15,F -14: HPLOT E -10,F -17: HPLOT E -2,F -19: HPLOT E +2,F -15
  178. 2380  HPLOT E +13,F -17: HPLOT E +19,F -14: HPLOT E +18,F -9: HPLOT E -19,F -6: HPLOT E -19,F -12: HPLOT E -12,F -17: HPLOT E -3,F -22: HPLOT E +3,F -18: HPLOT E +17,F -17: HPLOT E +22,F -15: RETURN 
  179. 2390  HPLOT E -20,F -4: HPLOT E -20,F -10: HPLOT E +5,F -21: HPLOT E +20,F -16: HPLOT E +24,F -12: HPLOT E +23,F -6: RETURN 
  180. 2400  RETURN 
  181. 2410  REM     DISPLAY ELIM
  182. 2420  IF CL = 1  THEN  RETURN 
  183. 2430 CL = 1
  184. 2440 E = 135:F = 81
  185. 2450  HCOLOR= 5
  186. 2460  HPLOT E -7,F +4 TO E -8,F +4 TO E -7,F +5 TO E -7,F +3 TO E -3,F +3 TO E -1,F +2 TO E -6,F +2
  187. 2470  HPLOT E -6,F +2 TO E -2,F -2 TO E -3,F -3 TO E -4,F +1 TO E +1,F +1 TO E,F TO E +12,F
  188. 2480  HPLOT E +12,F TO E +13,F +2 TO E +13,F TO E +12,F -2 TO E +15,F -4 TO E +12,F -1 TO E +1,F -1 TO E +2,F -4 TO E +5,F -5 TO E +2,F -2 TO E +10,F -2 TO E +8,F -4 TO E +9,F -5 TO E +9,F -7 TO E +8,F -3
  189. 2490  FOR TM = 1 TO 6
  190. 2500  HCOLOR= 5
  191. 2510  FOR F2 = 1 TO 2
  192. 2520  HPLOT E -5,F -4 TO E -7,F -4 TO E -5,F -3 TO E -6,F -5 TO E -5,F -6 TO E -6,F -8
  193. 2530  HPLOT E +11,F -2 TO E +12,F -3 TO E +10,F -3 TO E +9,F -4 TO E +13,F -4 TO E +14,F -5 TO E +10,F -5 TO E +11,F -6 TO E +14,F -6 TO E +14,F -7 TO E +16,F -10 TO E +12,F -7
  194. 2540  HCOLOR= 0: NEXT F2
  195. 2550  HCOLOR= 5
  196. 2560  FOR F2 = 1 TO 2
  197. 2570  HPLOT E +1,F -5 TO E -1,F -5 TO E -1,F -6 TO E +2,F -6 TO E +2,F -7 TO E -1,F -7 TO E +3,F -11 TO E +3,F -12 TO E +1,F -8
  198. 2580  HPLOT E +9,F -6 TO E +6,F -6 TO E +6,F -7 TO E +10,F -7 TO E +11,F -8 TO E +5,F -8 TO E +9,F -12 TO E +9,F -13 TO E +7,F -9 TO E +11,F -9 TO E +12,F -11 TO E +14,F -13 TO E +11,F -11
  199. 2590  HCOLOR= 0
  200. 2600  NEXT F2
  201. 2610  HCOLOR= 5
  202. 2620  FOR F2 = 1 TO 2
  203. 2630  HPLOT E +5,F -9 TO E +4,F -9 TO E +3,F -10 TO E +6,F -10 TO E +7,F -11 TO E +3,F -11 TO E +4,F -12 TO E +6,F -12 TO E +6,F -15 TO E +7,F -17 TO E +7,F -14 TO E +5,F -13
  204. 2640  HCOLOR= 0
  205. 2650  NEXT F2
  206. 2660  NEXT TM
  207. 2670  RETURN 
  208. 2680  CALL  -936
  209. 2690 GO = 1
  210. 2700  IF CL = 1  AND TU = 4  THEN RO = 7
  211. 2710 CL = 0
  212. 2720  IF SF = 1  THEN GO = 3
  213. 2730  IF VF = 1  THEN GO = 6
  214. 2740  IF TU = 4  AND OP = 6  THEN GO = 8
  215. 2750  IF AUX = 1  AND RR = 1  THEN  PRINT D$;"CHAIN /RAM/RET"
  216. 2760  PRINT D$;"CHAIN RET"